這一篇文章曾經傳遍海峽兩岸,累計點閱次數超過一百萬次。
不過,我已將這篇文章擴展成一整本書《研究生完全求生手冊》(見左圖),除了原本的文獻回顧之外,再加入批判性閱讀與思考,以及創新的策略,並且按照碩士生找指導教授、定論文題目、研究構想,以迄論文撰寫和準備口試的要領都涵蓋進去。
原文仍舊貼於底下,不過建議讀者考慮以《研究生完全求生手冊》這本書取代「學術文獻回顧與分析的程序與技巧」這篇文章。
--------------------------------------------學術文獻回顧與分析的程序與技巧
清大 彭明輝
前言
學術研究是「站在巨人的肩膀上」,追求的是「把既有知識的邊界往前推」;而它最忌諱的是「閉門造車」。因此,學術文獻回顧(literature survey)與分析是學術研究的第一步,也是最重要的工作。把學術文獻回顧與分析的工作做得完整、徹底,自然會培養出從事學術研究的各種基本能力。
不僅如此,學術文獻回顧與分析的能力也正是台灣產業界最欠缺而又最有用的能力之一。台灣產業界所需要的技術絕大多數都是國外學術文獻上的既有技術,一個人如果擅長在最短時間內完成最有效率的文獻回顧與分析,那麼它在產業界也可以表現得很出色:給他任何一個題目,他可以在最短時間內從學術文獻上找到足夠的方法、技術和點子來解決他手上的問題。
因此,從我過去與台灣產業界的互動過程中,我確信的結論是:軟硬體實做的能力(implementation skills)和學術文獻回顧與分析的能力是一個碩士畢業生能在產業界有出色表現的兩大能力。只不過,台灣的產業界過去只注重軟硬體實做的能力(hardware、firmware、software),因而產品附加價值的提升空間有限。未來,台灣產業若想要進一步提高其附加價值,就必須要有能力從學術文獻的回顧與分析中迅速地找到解決問題的最佳答案(而不再是只倚靠軟硬體的蠻力)。
壹、從學位論文的要求看學術文獻回顧的重要性
我對碩士論文的期待是:
(1)論文的主要內容,是敘述一套方法在一個特定場合中的應用。
(2)這套方法必須要有所創新或突破,並因而對學術界或工業界有所貢獻。因此,它或者是解決既有問題的新方法,或者是既有方法的新應用,或者是以一個新的方法開啟一整片新的應用領域。
(3)在論文中,你必須要有能力提出足夠的證據來讓讀者信服說:針對這個應用場合,你所提出來的方法確實有比文獻中一切既有方法更優越之處。
(4)此外,你必須要能清楚指出這個方法在應用上的限制,並且提出充分證據來說服讀者:任何應用場合,只要能夠滿足你所提出來的假設(前提)條件,你的方法就一定適用,而且你所描述的優點就一定會存在。
(5)你還必須要在論文中清楚指出這個方法的限制和可能的缺點(相對於其它文獻上的既有方法,或者在其它應用場合裡)。假如這個方法有任何重大缺點,在口試時才被口試委員指出來,其後果有可能是論文無法通過。
(6)行文風格上,它是一篇論證嚴謹,邏輯關係清晰,而且結構有條理的專業論述。也就是說,在敘述你的方法的過程,你必須要清清楚楚地交代這個方法的應用程序以及所有模擬或實驗結果的過程,使得這個專業領域內的任何讀者,都有辦法根據你的描述,在他的實驗室下複製出你的研究成果,以便確定你的結論確實是可以「在任何時間、任何地點、任何人」都具有可重複性(可重複性是「科學」的根本要求)。
(7)而且,你對這個方法的每一個步驟都必須要提供充分的理由說明「為什麼非如此不可」。
(8)最後,你的論文必須要在適當位置清楚註明所有和你所研究之題目相關的文獻。而且,你必須要記得:只要是和你所研究的問題相關的學術文獻(尤其是學術期刊論文),你都有必要全部找出來(如果漏掉就是你的過失),仔細讀過。假如你在學位論文口試時,有口試委員指出有一篇既有文獻,在你所討論的問題中處理得比你的方法還好,這很可能就構成你論文無法及格的重要理由。
(9)第(2)款所謂「對學術界的貢獻」,指的是:把你的所有研究成果扣除掉學術界已經發表過的所有成果(不管你實際上有沒有參考過,沒有參考過也算是你的重大過失),剩下的才是你的貢獻。假如這個貢獻太少,也可能使你論文無法及格。
貳、學術文獻回顧與完成碩士論文所需要的能力
從前面的敘述可以歸納出來,完成碩士論文所需要的能力包括以下數項,依它們的培養先後次序逐項討論。
(1)資料檢索的能力:在給定(或自己擬定)的題目範圍內,你必須有能力利用資料檢索系統(尤其是教育部「博碩士論文檢索系統」、Compendex 和SCI 這三套論文資料索引系統),查出所有相關的論文,而無任何遺漏(否則你可能在論文口試時才發現同一個題目已經有人發表過了)。你到底要用什麼樣的關鍵字和查所程序去保證你已經找出所有相關的文獻?這是第一個大的挑戰。每一組關鍵字(包含聯集與交集)代表一個論文所構成的集合,假如你用的關鍵字不恰當,你可能找到的集合太小,沒有涵蓋所有的相關文獻;假如你用的關鍵字太一般化(譬如「image」),通常你找到的集合會太大,除了所有相關文獻之外還加上好幾十倍的毫不相關的文獻。
(2)資料篩選的能力:即使你使用了恰當的搜尋策略,通常找到的文獻集合都還是明顯地比你所需要的集合大,而且通常文獻比數大概在一、兩百篇或數百篇之間,而其中會和你的的研究子題直接且密切相關的論文,通常只有廿、卅篇左右。你如何可以只讀論文的題目、摘要、簡介和結論,而還沒有完全看懂內文,就準確地判斷出這篇論文中是否有值得你進一步參考的內容,以便快速地把需要仔細讀完的論文從數百篇降低到廿、卅篇?這考驗著你從事資料篩選的能力。
(3)期刊論文的閱讀能力:期刊論文和大學部的課本截然不同。大學部的課本是尋次漸進地從最基本的知識背景逐步交代出整套有系統的知識,中間沒有任何的跳躍,只要你逐頁讀下去,就可以整本都讀懂,不需要在去別的地方找參考資料。但是期刊論文是沒頭沒尾的十幾頁文獻,只交代最核心的創意,並援引許多其它論文的研究成果(但只註明文獻出處,而完全沒有交代其內容)。因此,要讀懂一篇論文,一定要同時讀懂數篇或十數篇被援引的其它論文。偏偏,這十幾篇被援引的論文又各自援引十數篇其它論文。
因此,相對於大學部的教科書而言,期刊論文是一個極端沒有系統的知識,必須要靠讀者自己從幾十篇論文中擷取出相關的片段,自己組織成一個有系統的知識,然後才有辦法開始閱讀與吸收。要培養出這種自己組織知識的能力,需要在學校靠著大量而持續的時間去摸索、體會,而不可能只利用業餘的零星時間去培養。因此,一個大學畢業後就不再唸研究所的學生,不管他在大學部有多優秀,都很難在工業界利用業餘的時間去培養出這種能力。所以,碩士畢業生和大學畢業生最大的差別,就是:學士只學習過吸收系統知識的能力(也就是讀別人整理、組織好的知識,典型的就是課本);但碩士則學習過自己從無組織的知識中檢索、篩選、組織知識的能力。
(4)期刊論文的分析能力:為了確定你的學位論文研究成果確實比所有相關的學術期刊論文都更適合處理你所擬定的應用場域,首先你必須要有能力逐篇分析出所有相關期刊論文的優點與缺點,以及自己的研究成果的優點與缺點,然後再拿他們來做比較,總結出你的論文的優點和缺點(限制)。但是,好的期刊論文往往是國外著名學府的名師和一流的博士生共同的研究成果,假如你要在鎖定的應用場域上「打敗」他們,突出自己的優點,這基本上是一個很困難的挑戰。即使只是要找出他們的缺點,都已經是一個相當困難的工作了。一個大學畢業生,四年下來都是假定「課本是對的」這樣地學下來的,從來沒有學習如何分析課本知識的優缺點,也就是「只有理解的能力,而沒有批判的能力」。碩士生則必須要有「對一切既有進行精確批判」的能力。但是,這個批判並非個人好惡或情緒化的批判,而是真的找得到充分理由去支持的批判。這個批判的能力,讓你有能力自己找到自己的優、缺點,因此也有機會自己精益求精。所以,一個大學畢業生在業界做事的時候,需要有人指導他(從事批判性檢驗),幫他找出缺點和建議改進的可能性。但是,一個嚴格訓練過的合格碩士,他做事的時候應該是不需要有人在背後替他做檢證,他自己就應該要有能力分析自己的優、缺點,主動向上級或平行單位要求支援。
其實,要完成這個能力,才勉強可以說你是有「獨立自主的判斷能力」。
(5)創新的能力:許多大學畢業的工程師也能創新,但是碩士的創新是和全世界同一個學術團體內所有的名師和博士生挑戰。因此,兩者是站在不同的比較基礎上在進行的:前者往往是一個企業內部的「閉門造車」,後者是一個全球的開放性競爭。其次,工程師的創新往往是無法加以明確證明其適用條件,但是學術的創新卻必須要能夠在創新的同時釐清這個創新的有效條件。因此,大學畢業生的主要能力是吸收既有知識,但碩士畢業生卻應該要有能力創造知識。此外,台灣歷年來工業產品的價位偏低,這一部分是因為國際大廠的打壓以及國際消費者的信任不易建立。但是,另一方面,這是因為台灣的產品在品質上無法控制,因此只好被當作最粗糙的商品來販賣。台灣的產品之所以無法有穩定的品質,背後的技術原因就是:各種創新都是只憑一時偶然的巧思,卻沒有辦法進一步有系統地釐清這些巧思背後可以成立的條件。但是,創新其實是可以有一套「有跡可尋」的程序的,這是我最得意的心得,也是我最想教的。
參、為什麼要堅持培養閱讀與分析期刊論文的能力
我之所以一直希望能訓練研究生閱讀與分析期刊論文的能力,主要是為了學生畢業後中長期的競爭力著想。
台灣從來都只生產國外已經有的產品,而少創新。假如國外企業界比國外學術的技術落後三年,而台灣的技術比國外技術落後五年,則台灣業界所需要的所有技術都可以在國外學術期刊上找到主要的理論依據和技術核心構想(除了一些技術的細節和 know how 之外)。因此,閱讀期刊的能力是台灣想要保持領先大陸技術的必備條件。
此外,只要能夠充分掌握閱讀與分析期刊論文的技巧,就可以水到渠成地輕鬆進行「創新」的工作。所以,只要深入掌握到閱讀與分析期刊論文的技巧,就可以掌握到大學生不曾研習過的三種能力:(1)自己從無組織的知識中檢索、篩選、組織知識的能力、(2)對一切既有進行精確批判的獨立自主判斷能力、(3)創造新知識的能力。創新的能力在台灣一直很少被需要(因為台灣只會從國外買整套設備、製程和設計與製造的技術)。但是,大陸已經成為全球廉價品製造中心,而台商為了降低成本也主動帶技術到大陸設廠(包括現在的晶元代工),因此整個不具關鍵性技術的製造業都會持續往大陸移動;甚至 IC 的設計(尤其數位的部分)也無可避免地會迅速朝向「台灣開系統規格,進行系統整合,大陸在前述架構下開發特定數位模組」的設計代工發展。
因此,未來台灣將必然會被逼著朝愈來愈創意密集的創意中心走(包括商務創意、經營創意、產品創意、與技術創新)。因此,不能因為今天台灣的業界不需要創新的能力,就誤以為自己一輩子都不需要擁有創新的能力。
我在協助民間企業發展技術研發的過程中,碰到過一位三十多歲的廠長。他很聰明,但從小家窮,被環境逼著去念高工,然後上夜校讀完工專。和動態性能(bandwidth、response speed 等)無關的技術他都很深入,也因為產品升級的需要而認真向我求教有關動態性能的基本觀念。但是,怎麼教他都不懂,就只因為他不懂工程數學。偏偏,工程數學不是可以在工廠裡靠自修讀會的。一個那麼聰明的人,只因為不懂工數,就註定從三十歲以後一輩子無法在專業上繼續成長!他高工畢業後沒幾年,廿多歲就當課長,家人與師長都以他為榮;卅歲當廠長,公司還給他技術股,前途無量;誰想得到他會在卅歲以後被逼著「或者升級,或者去大陸,或者失業」?
每次想起這位廠長,看著迫不急待地要到台積電去「七年賺兩千萬退休金」的學生,或者只想學現成可用的技術而不想學研究方法的學生,我總忍禁不住地要想:十年後,我教過的學生裡,會不會有一堆人就只因為不會讀期刊論文而被逼提前退休?再者,技術的創新並不是全靠聰明。我熟諳一套技術創新的方法,只要學會分析期刊論文的優缺點,就可拿這套方法分析競爭對手產品的優缺點;而且,只要再稍微加工,就可以從這套優缺點的清單裡找到突破瓶頸所需的關鍵性創意。這套創新程序,可以把「創新」變成不需要太多天分便可以完成的事,從而減輕創意的不定性與風險性。
因此,只要會分析論文,幾乎就可以輕易地組合出你所需要的絕大部分創意。聰明是不可能教的,但這套技巧卻是可以教的;而且只要用心,絕大部分碩士生都可以學會。就是因為這個原因,我的實驗室整個訓練的重心就是培養學生深入掌握閱讀與分析期刊論文的技巧,進而培養他們在關鍵問題上突破與創新的能力。
肆、期刊論文的分析技巧與程序(參考第 9 頁圖一)
一般來講,好的期刊論文有較多的創意。雖然讀起來較累,但收穫較多而深入,因此比較值得花心思去分析。讀論文之前,參考 SCI Impact Factor 及學長的意見是必要的。
一篇期刊論文,主要分成四個部分。
(1)Abstract:
說明這篇論文的主要貢獻、方法特色與主要內容。最慢碩二上學期必須要學會只看Abstract 和 Introduction 便可以判斷出這篇論文的重點和你的研究有沒有直接關連,從而決定要不要把它給讀完。假如你有能力每三十篇論文只根據摘要和簡介便能篩選出其中最密切相關的五篇論文,你就比別人的效率高五倍以上。以後不管是做事或做學術研究,都比別人有能力從更廣泛的文獻中挑出最值得參考的資料。
(2)Introduction:
Introduction 的功能是介紹問題的背景和起源,交代前人在這個題目上已經有過的主要貢獻,說清楚前人留下來的未解問題,以及在這個背景下這篇論文的想解決的問題和它的重要性。對初學的學生而言,從這裡可以瞭解以前研究的概況。通常我會建議初學的學生,對你的題目不熟時,先把跟你題目可能相關的論文收集個30〜40 篇,每篇都只讀 Abstract 和 Introduction,而不要讀 Main Body(本文),只在必要時稍微參考一下後面的 Illustrative examples 和 Conclusions,直到你能回答下面這三個問題:(2A )在這領域內最常被引述的方法有哪些?(2B)這些方法可以分成哪些主要派別?(2C )每個派別的主要特色(含優點和缺點)是什麼?
問題是,你怎麼去找到這最初的 30〜40 篇論文?有一種期刊論文叫做「review paper」,專門在一個題目下面整理出所有相關的論文,並且做簡單的回顧。你可以在搜尋 Compendex 時在 keywords 中加一個「review」而篩選出這類論文。然後從相關的數篇 review papers 開始,從中根據 title 與 Abstract 找出你認為跟你研究題目較相關的 30〜40 篇論文。
通常只要你反覆讀過該領域內 30〜40 篇論文的 Abstract 和 Introduction,你就應該可以從 Introduction 的評論中回答(2A )和(2B)這兩個問題。尤其要記得,當你閱讀的目的是要回答(2A )和(2B)這兩個問題時,你一定要先挑那些 Introduction 寫得比較有觀念的論文念(很多論文的 Introduction 寫得像流水帳,沒有觀念,這種論文剛開始時不要去讀它)。假如你讀過假如 30〜40 篇論文的 Abstract 和 Introduction 之後,還是回答不了(2C ),先做下述的工作。
你先根據(2A )的答案,把這領域內最常被引述的論文找齊,再把他們根據(2B)的答案分成派別,每個派別按日期先後次序排好。然後,你每次只重新讀一派的 Abstract和 Introduction(必要時簡略參考內文,但目的只是讀懂 Introduction 內與這派有關的陳述,而不需要真的看懂所有內文),照日期先後讀,讀的時候只企圖回答一個問題:這一派的創意與主要訴求是什麼?這樣,你逐派逐派地把每一派的 Abstract 和 Introduction 給讀完,總結出這一派主要的訴求、方法特色和優點(每一篇論文都會說出自己的優點,仔細讀就不會漏掉)。
其次,你再把這些論文拿出來,只讀 Introduction,認真回答下述問題:「每篇論文對其它派別有什麼批評?」然後你把讀到的重點逐一記錄到各派別的「缺點」欄內。
通過以上程序,你就應該可以掌握到(2A )、(2B)、和(2C )三個問題的答案。這時你對該領域內主要方法、文獻之間的關係算是相當熟捻了,但是你還是只仔細讀完 Abstract 和 Introduction 而已,內文則只是籠統讀過。
這時候,你已經掌握到這領域主要的論文,你可以用這些論文測試看看你用來搜尋這領域論文的 keywords 到底恰不恰當,並且用修正過的 keywords 再搜尋一次論文,把這領域的主要文獻補齊,也把原來30〜40 篇論文中後來發現關係較遠的論文給篩選掉,只保留大概 20 篇左右確定跟你關係較近的文獻。如果有把握,可以甚至刪除一、兩個你不想用的派別(要有充分的理由),只保留兩、三個派別(也要有充分的理由)繼續做完以下工作。
然後你應該利用(2C )的答案,再進一步回答一個問題(2D):「這個領域內大家認為重要的關鍵問題有哪些?有哪些特性是大家重視的優點?有哪些特性是大家在意的缺點?這些優點與缺點通常在哪些應用場合時會比較被重視?在哪些應用場合時比較不會被重視?」然後,你就可以整理出這個領域(研究題目)主要的應用場合,以及這些應用場合上該注意的事項。
最後,在你真正開始念論文的 main body 之前,你應該要先根據(2A )和(2C )的答案,把各派別內的論文整理在同一個檔案夾裡,並照時間先後次序排好。然後依照這些派別與你的研究方向的關係遠近,一個派別一個派別地逐一把各派一次唸完一派的main bodies。
(3)Main body(含simulation
and/or experimental examples):
在你第一次有系統地念某派別的論文 main bodies 時,你只需要念懂:(3A )這篇論文的主要假設是什麼(在什麼條件下它是有效的),並且評估一下這些假設在現實條件下有多容易(或多難)成立。愈難成立的假設,愈不好用,參考價值也愈低。(3B)在這些假設下,這篇論文主要有什麼好處。(3C )這些好處主要表現在哪些公式的哪些項目的簡化上。至於整篇論文詳細的推導過程,你不需要懂。除了三、五個關鍵的公式(最後在應用上要使用的公式,你可以從這裡評估出這個方法使用上的方便程度或計算效率,以及在非理想情境下這些公式使用起來的可靠度或穩定性)之外,其它公式都不懂也沒關係,公式之間的恆等式推導過程可以完全略過去。假如你要看公式,重點是看公式推導過程中引入的假設條件,而不是恆等式的轉換。
但是,在你開始根據前述問題念論文之前,你應該先把這派別所有的論文都拿出來,逐篇粗略地瀏覽過去(不要勉強自己每篇或每行都弄到懂,而是輕鬆地讀,能懂就懂,不懂就不懂),從中挑出容易念懂的 papers,以及經常被引述的論文。然後把這些論文照時間先後次序依序念下去。記得:你念的時候只要回答(3A )、(3B)、(3C )三個問題就好,不要念太細。
這樣唸完以後,你應該把這一派的主要發展過程,主要假設、主要理論依據、以及主要的成果做一個完整的整理。其次,你還要在根據(2D)的答案以及這一派的主要假設,進一步回答下一個問題:(3D)這一派主要的缺點有哪些。最後,根據(3A )、(3B)、(3C )、(3D)的答案綜合整理出:這一派最適合什麼時候使用,最不適合什麼場合使用。
記住:回答完這些問題時,你還是不應該知道恆等式是怎麼導出來的!
當你是生手的時候,你要評估一個方法的優缺點時,往往必須要參考它的Examples。但是,要記得:老練的論文寫作高手會故意只 present 成功的案例而遮掩失敗的案例。所以,simulation examples and/or experiments 很棒不一定表示這方法真的很好。你必須要回到這個方法的基本假設上去,以及他在應用時所使用的主要公式(resultant equations)去,憑自己的思考能力,並且參考(2C )和(2D)的答案,自己問問看:當某某假設在某些實用場合上無法成立時,這個方法會不會出什麼狀況?猜一猜,預測一下這個方法應該會在哪些條件下(應用場合)表現優異,又會在哪些條件下(應用場合)出狀況?根據這個猜測再檢驗一次 simulation examples and/or experiments,看它的長處與短處是不是確實在這些 examples 中充分被檢驗,且充分表現出來。
那麼,你什麼時候才需要弄懂一篇論文所有的恆等式推導過程,或者把整篇論文細細讀完?NEVER!你只需要把確定會用到的部分給完全搞懂就好,不確定會不會用到的部分,只需要瞭解它主要的點子就夠了。
碩士生和大學生最主要的差別:大學生讀什麼都必須要從頭到尾都懂,碩士生只需要懂他用得著的部分就好!大學生因為面對的知識是有固定的範圍,所以他那樣念。
碩士生面對的知識是沒有範圍的,因此他只需要懂他所需要的細膩度就夠了。碩士生必須學會選擇性的閱讀,而且必須鍛鍊出他選擇時的準確度以及選擇的速度,不要浪費時間在學用不著的細節知識!多吸收「點子」比較重要,而不是細部的知識。
伍、方法與應用場合特性表(有跡可尋的創意程序)
試著想像說你從上圖中論文閱讀步驟的第(4)與(5)步驟分別獲得以下兩張表:
譬如,當你的題目是「如何標定 fiducial mark 之中心位置」,你就必須要仔細搜尋出文獻上所有可能可以用來做這一個工作的方法。或許你找到的方法一共有四種,依序如下。譬如(隨便亂舉例),「方法一」可能表示:「以面積形心標定 fiducial mark 之中心位置」,「方法二」可能表示「以 Hugh
transform 標定 fiducial mark 之中心位置」,「方法三」可能表示:「以局部弧形 matching 的方法標定 fiducial mark 之中心位置」,「方法四」可能表示:「以 ring code 標定 fiducial mark 之中心位置」。
這些方法各有它的特色(優缺點),譬如(隨便亂舉例),特性1 可能表示「計算速度」(因此,根據上表左邊第一個 row,可以發現:方法一的計算速度很快,方法二與方法三的計算速度很慢,而方法四的計算速度普通。其次,特性2 可能代表「光源亮度不穩定時計算位置的誤差大小」,特性3 可能代表「雜訊對計算出的位置干擾多大」,特性4可能代表「圖形邊緣有破損時計算的可靠度」,特性5 可能代表「物件有彼此的遮蔽時方法的適用性」等等。所以,以上左圖中第五個 row 為例,可以發現:當物件有彼此的遮蔽時,除方法二之外其它三個方法的適用性都很好。
但是,同樣一個方法可能有許多不同的應用場合,而不同應用場合可能會對適用(或最佳)的方法有不同要求。所以,讓我們來看右邊的「問題特性分析表」。譬如(再隨便亂舉例),應用假可能是「標定 fiducial mark 之中心位置」的方法在「電路插件組裝(SMT)」裡的應用,應用乙可能是「標定 fiducial mark 之中心位置」的方法在「生物檢驗自動化影像處理」裡的應用,而應用丙則可能是「標定 fiducial mark 之中心位置」的方法在「巡乂飛彈目標搜尋」裡的應用。這三種應用場合更有其關注的特性。譬如,根據上面右表第二個 row 的資料,三種應用場合對特性2(光源亮度不穩定時計算位置的誤差大小)都很在意。再譬如,根據上面右表第四個 row 的資料,三種應用場合中除了應用甲(電路插件組裝(SMT))之外,其它兩種應用場合對特性4(圖形邊緣有破損時計算的可靠度)都很在意。
那麼,四個方法中哪個方法最好?你可能會回答說:「方法二!因為它的優點最多,缺點最少。」但是,這樣的回答是錯的!一個方法只有優缺點,而沒有好壞。當它被用在一個適合表現其優點而不在乎其缺點的場合裡,它就顯得很好;但是,當它被用在一個不適合表現其優點而很在乎其缺點的場合裡,它就顯得很糟。譬如,方法二在應用場合乙,它的表現會非常出色(因為所有的優點剛好那個應用場合都在意,而所有的缺點剛好那個應用場合都不在意);但是,方法二在應用場合假裡它的表現卻會非常糟糕(它所有的缺點剛好那個應用場合都很在意,而它大部分的優點剛好那個應用場合卻都不在意)。所以,必須要學會的第㆒件是就是:方法沒有好壞,只有相對優缺點點;只有當方法的特性與應用場合的特性不合時,才能下結論說這方法「不適用」;當方法的特性與應用場合的特性吻合時,則下結論說這方法「很適用」。因此,一定要同時有方法特性表與應用場合特性分析表放在一起後,才能判斷一個方法的適用性。
更重要的是:上面的方法與問題分析對照表還可以用來把「突破瓶頸所需的創意」簡化成一種「有跡可尋」的工作。譬如,假定我們要針對應用甲發展一套適用的方法,首先我們要先從上右表中標定這個應用場合關心哪些問題特性。根據上右表第一個 column,甲應用場合只關心四個特性:特性1、2、3、5(即「計算速度」、「光源亮度不穩定時計算位置的誤差大小」、「雜訊對計算出的位置的干擾」、「物件有彼此的遮蔽時方法的適用性」)。那麼,哪個方法最適用呢?看起來是方法一,它除了特性 2 表現普通之外,其它三個特性的表現都很出色。但是,假如我們對方法一的表現仍不夠滿意,怎麼去改善它?
最簡單的辦法就是從上左表找現成的方法和方法一結合,產生出一個更適用的方法。因為方法一只有在特性 2上面表現不夠令人滿意,所以我們就優先針對在特性 2上面表現出色的其它方法加以研究。根據上左表,在特性 2 上面表現出色的方法有方法二和方法四,所以我們就去研究這兩個方法和方法一結合的可能性。或許(隨便舉例)方法四的創意剛好可以被結合進方法一而改善方法一在特性 2 上面的表現,那麼,我們就可以因此輕易地獲得一個方法一的改良,從而突破甲應用場合沒有適用方法的瓶頸。
有沒有可能說單純常識結合既有方法優點仍無法突破技術瓶頸的狀況?可能有。這時候真的需要完全新穎的創意了。但是,這種時候很罕見。多半時候只要應用上一段的分析技巧就可以產生足以解決實用問題的創意了。至少,要產生出一篇學術期刊論文並非那麼困難。
陸、論文閱讀的補充說明
碩士生開始學讀期刊論文時,就容易犯的毛病就是戒除不掉大學部的習慣:(1)老是想逐行讀懂,有一行讀不懂就受不了。(2)不敢發揮自己的想像,讀論文像在讀教科書,論文沒寫的就不會,癱瘓在那裡;被我逼著去自己猜測或想像時,老怕弄錯作者的意思,神經繃緊,腦筋根本動不了。
大學畢業後(不管是念碩、博士或工作),可以參考的資料都沒有秩序地交錯成一團,而且永遠都讀不完。用大學生的心態讀書,結果一定時間永遠不夠用。因此,每次讀論文都一定要帶著問題去讀,每次讀的時候都只是圖回答你要回答的問題。因此,一定是選擇性地閱讀,一定要逐漸由粗而細地一層一層去瞭解。上面所規劃的讀論文的次序,
就是由粗而細,每讀完一輪,你對這問題的知識就增加一層。根據這一層知識就可以問出下一層更細緻的問題,再根據這些更細緻的問題去重讀,就可以理解到更多的內容。
因此,一定是一整批一起讀懂到某個層次,而不是逐篇逐篇地整篇一次讀懂。
這樣讀還有一個好處:第一輪讀完後,可以根據第一輪所獲得的知識判斷出哪些論文與你的議題不相關,不相關的就不需要再讀下去了。這樣才可以從廣泛的論文裡逐層準確地篩選出你真正非懂不可的部分。不要讀不會用到的東西,白費的力氣必須被極小化!其實,絕大部分論文都只需要瞭解它的主要觀念(這往往比較容易),而不需要瞭解它的詳細推導過程(這反而比較費時)。
其次,一整批一起讀還有一個好處:同一派的觀念,有的作者說得較易懂,有的說得不清楚。整批讀略過一次之後,就可以規劃出一個你以為比較容易懂的閱讀次序,而不要硬碰硬地在那裡撞牆壁。你可以從甲論文幫你弄懂以論文的一個段落,沒人說讀懂甲論文只能靠甲論文的資訊。所以,整批閱讀很像在玩跳棋,你要去規劃出你自己閱讀時的「最省力路徑」。
大學部學生讀東西一定要循規蹈矩,你還沒修過機械視覺相關課程之前可能也只好循規蹈矩地逐行去念。但是一旦修過機械視覺相關課程,許多論文中沒被交代的段落你也已經可以有一些屬於你的想像(雖然有可能猜錯,尤其剛開始時經常猜錯,但沒關係,下面詳述)。這些想像往往補足論文跳躍處最快速的解決方案。其實,一個大學畢業生所學已經很多了,對許多是都可以有一個不太離譜的想像能力。但是大部分學生卻根本不敢去想像。我讀論文遠比學生快,分析遠比學生深入,主要的是我敢想像與猜測,而且多年訓練下來想像與猜測的準確度很高。所以,許多論文我根本不是「讀懂」的,而是「猜對」了!
假如猜錯了怎麼辦?不用怕!猜完一後要根據你的猜測在論文裡找證據,用以判斷你的猜測對不對。猜對了,就用你的猜測(其實是你的推理架構)去吸收作者的資訊與創意(這會比從頭硬生生地去遷就作者的思路輕鬆而容易);猜錯了,論文理會有一些資訊告訴你說你錯了,而且因為猜錯所以你讀到對的答案時反而印象更深刻。
柒、論文報告的要求與技巧
報告一篇論文,我期待學生能做到以下部分(依報告次序排列):
(1)投影片第一頁必須列出論文的題目、作者、論文出處與年份。
(2)每一頁投影片只能講一個觀念,不可以在一張投影片裡講兩個觀念。
(3)說明這篇論文所研究的問題的重點,以及這個問題可能和工業界的哪些應用相關。
(4)清楚交代這篇論文的主要假設,主要公式,與主要應用方式(以及應用上可能的
解題流程)。
(5) 說明這篇論文的範例(simulation examples and/or experiments),預測這個方法在不同場合時可能會有的準確度或好用的程度
(6) 你個人的分析、評價與批評,包括:(6A )這篇論文最主要的創意是什麼?(6B)這些創意在應用上有什麼好處?(6C )這些創意和應用上的好處是在哪些條件下才能成立?(6D)這篇論文最主要的缺點或侷限是什麼?(6E)這些缺點或侷限在應用上有什麼壞處?(6F )這些缺點和應用上的壞處是因為哪些因素而引入的?
(6G )你建議學長學弟什麼時候參考這篇論文的哪些部分(點子)?
一般來講,剛開始報告論文(碩一上學期)時只要做到能把前四項要素說清楚就好了,但是碩一結束後(暑假開始)必須要設法做到六項要素都能觸及。碩二下學期開始的時候,必須要做到六項都能說清楚。
注意:讀論文和報告論文時,最重要的是它的創意和觀念架構,而不是數學上恆等式推導過程的細節(頂多只要抓出關鍵的 equation 去弩懂以及說明清楚即可)。你報告觀念與分析創意,別人容易聽懂又覺得有趣;你講恆等式,大家不耐煩又浪費時間。